﻿using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization.Formatters.Binary;
using UnityEngine;
using System.IO; //input  out
using 数据;
public class 玩家存档类 : MonoBehaviour
{
    string 存档地址="";
    void Start()
    {
        存档地址 = Application.persistentDataPath + "/存档数据.douyu";
        print(存档地址);
        读取本地数据();
    }
    void 读取本地数据 ()
    {
        if (File.Exists(存档地址))
        {
            系统数据 系统数据 =  反序列化玩家数据();
            玩家管理器.单例.玩家 = 系统数据.玩家存档列表[0];
        }
        else
        {
            File.Create(存档地址).Close();
            系统数据 系统数据 = new 系统数据();
            系统数据.关卡记录 = 0;
            系统数据.进度记录 = 0;
            玩家存档 玩家存档 = new 玩家存档();
            玩家存档.玩家数据.Add(new 玩家数据()
            {
                等级 = 1,
                经验 = 0,
                坚韧 = 0,
                生命值 = 10,
                最大生命值 = 10,
                攻击 = 1,
                防御 = 1,
                攻击间隔=5,
                法术伤害=1,
                暴击率 =0,
                暴击伤害 =1.5f,
                闪避=0,
                命中 =1,
                减少暴击=0,
                力量=1,
                敏捷=1,
                体质=1,
                智力=1

            });

            

            系统数据.玩家存档列表.Add(玩家存档);
            序列化玩家数据(系统数据);

            读取本地数据();
        }
    }
    void 序列化玩家数据 (系统数据 系统数据)
    {
        BinaryFormatter 序列化 = new BinaryFormatter();
        FileStream 文件流 = File.Open(存档地址,FileMode.Open);
        序列化.Serialize(文件流,系统数据);
        文件流.Close();
        
    }
    系统数据 反序列化玩家数据 ()
    {
        系统数据 系统数据 = new 系统数据();
        BinaryFormatter 序列化 = new BinaryFormatter();
        FileStream 文件流 = File.Open(存档地址, FileMode.Open);
        系统数据= 序列化.Deserialize(文件流) as 系统数据;
        文件流.Close();
        return 系统数据;
    }
   
}
